GRUB مثل دربان یه ساختمان است. وقتی سیستم روشن میشود، GRUB به شما نشان میدهد که کدام سیستمعامل را میخواهید اجرا کنید. اگر چند سیستمعامل روی سیستم نصب باشد، GRUB منوی انتخاب را به شما نشان میدهد. این جلسه همه چیز را درباره GRUB به شما یاد میدهد!
GRUB مخفف GRand Unified Bootloader است. اولین نسخه آن در سال ۱۹۹۹ منتشر شد و بعدها به عنوان Bootloader پیشفرض بسیاری از توزیعهای لینوکس انتخاب شد. نسخه جدید آن در سال ۲۰۰۵ ارائه شد و به نسخه قبلی، GRUB Legacy گفته میشود.
GRUB Legacy نسخه قدیمی است و GRUB 2 نسخه جدید که امروزه در اکثر توزیعها استفاده میشود.
GRUB Legacy تنظیمات خود را در فایل menu.lst که در مسیر /boot/grub/menu.lst قرار دارد، ذخیره میکند. در توزیعهای رد هت، این فایل grub.conf نام دارد.
| تنظیمات | توضیح |
|---|---|
color |
رنگهای منو (پسزمینه و متن) |
default |
گزینه پیشفرض منو |
fallback |
گزینه جایگزین در صورت شکست گزینه پیشفرض |
hiddenmenu |
عدم نمایش منو (منو مخفی) |
splashimage |
تصویر پسزمینه منو |
timeout |
زمان انتظار برای انتخاب (به ثانیه) |
توضیح: منوی پیشفرض گزینه اول (0) است، ۱۰ ثانیه انتظار میکشد و رنگها به این صورت تنظیم شدهاند.
| دستور | توضیح |
|---|---|
title |
عنوانی که در منو نمایش داده میشود |
root |
دیسک و پارتیشنی که /boot روی آن قرار دارد |
kernel |
مسیر فایل هسته (kernel) در /boot |
initrd |
فایل Initial RAM Disk که درایورهای اولیه را شامل میشود |
rootnoverify |
برای سیستمهای غیرلینوکسی مانند ویندوز |
hd0 است.
توضیح: این بخش یک سیستمعامل لینوکس را با هسته مشخص و فایل initrd راهاندازی میکند.
برای نصب GRUB Legacy از دستور grub-install استفاده میشود:
توضیح: دستور اول GRUB را روی MBR دیسک /dev/sda نصب میکند و دستور دوم روی پارتیشن اول دیسک اول.
/boot/grub/menu.lst/boot/grub/grub.cfg/etc/grub.d/ استفاده میکندgrub-mkconfig استفاده کنید.
/boot/grub/grub.cfg/boot/efi/EFI/[distro-name]/grub.cfgبرای پیکربندی GRUB 2، فایل اصلی را بهطور مستقیم ویرایش نکنید. به جای آن:
/etc/default/grub/etc/grub.d/grub-mkconfig استفاده کنید
توضیح: این دستور فایل grub.cfg را از روی تنظیمات موجود در /etc/default/grub و /etc/grub.d/ میسازد.
grub2-mkconfig استفاده میشود:
grub2-mkconfig -o /boot/grub2/grub.cfg
| کلید | توضیح |
|---|---|
| Arrow | انتخاب گزینه منو |
| C | ورود به محیط خط فرمان GRUB |
| E | ویرایش گزینه انتخابشده |
| Enter | بوت کردن گزینه انتخابشده |
| P | ورود رمز عبور (در صورت نیاز) |
پارامترهای هسته به شما امکان میدهند تا رفتار سیستم را در زمان بوت تغییر دهید. این پارامترها را میتوانید با زدن کلید E در منوی GRUB ویرایش کنید.
| پارامتر | توضیح |
|---|---|
console= |
تنظیم دستگاه کنسول |
debug |
فعالسازی دیباگ هسته |
init= |
اجرای برنامه مشخص به جای /sbin/init (مثلاً /bin/bash) |
initrd= |
تغییر مسیر فایل Initial RAM Disk |
mem |
تنظیم مقدار حافظه در دسترس |
ro |
سیستم فایل ریشه را فقط خواندنی Mount میکند |
root= |
تغییر سیستم فایل ریشه |
rootflags= |
تنظیم گزینههای Mount برای سیستم فایل ریشه |
rw |
سیستم فایل ریشه را خواندنی-نوشتنی Mount میکند |
selinux=0 |
غیرفعالسازی SELinux در زمان بوت |
single, 1, S |
بوت در حالت تککاربره (Single-User) برای SysVinit |
systemd.unit= |
بوت به target مشخص در systemd (مثلاً rescue.target) |
single، 1 و S برای ورود به حالت تککاربره و systemd.unit=rescue.target برای ورود به حالت rescue در systemd استفاده میشوند.
/boot/grub/menu.lst یا grub.conf/boot/grub/grub.cfg (آن را ویرایش نکنید!)grub-mkconfig -o /boot/grub/grub.cfg استفاده کنید.grub2-mkconfig -o /boot/grub2/grub.cfg استفاده کنید.ro، rw، root=، init=، single، 1، S، systemd.unit=